#ifndef LHC_COMMON_MACROS_H_INCLUDED_
#define LHC_COMMON_MACROS_H_INCLUDED_

// gcc can issue warnings for unused variables. It is common to read fields that are not otherwise needed
// when reading a file format. Those variables are marked with the gcc "unused" attribute to suppress
// warning for a specific variable.
#ifdef __GNUC__
#define UNUSED __attribute__((unused))
#else
#define UNUSED
#endif

// C++ 0x allows you to mark functions that are intended to override base class virtual functions.
// The compiler will issue an error if it does not, in fact, override the base class function
// (perhaps due to different argument types or a differently spelled name.)
// Use a macro to leave open the possibility of using compilers that do not support this feature yet.
#define OVERRIDE override

#endif

/*
 Copyright 2011 Greg Najda

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
*/
